Revert "Turn off extern templates for most uses." Turning off explicit template instantiation leads to a pretty significant build time and code size cost. We're better off dealing with ABI incompatibility issues that come up in a less heavy handed way. This reverts commit r189610. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@215740 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/__config b/include/__config index ce235af..c9718cf 100644 --- a/include/__config +++ b/include/__config
@@ -608,7 +608,7 @@ #endif #ifndef _LIBCPP_EXTERN_TEMPLATE -#define _LIBCPP_EXTERN_TEMPLATE(...) +#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; #endif #ifndef _LIBCPP_EXTERN_TEMPLATE2
diff --git a/src/algorithm.cpp b/src/algorithm.cpp index 10c4c33..6d5cf7c 100644 --- a/src/algorithm.cpp +++ b/src/algorithm.cpp
@@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; #include "algorithm" #include "random" #include "mutex"
diff --git a/src/ios.cpp b/src/ios.cpp index e241394..260ec76 100644 --- a/src/ios.cpp +++ b/src/ios.cpp
@@ -7,8 +7,6 @@ // //===----------------------------------------------------------------------===// -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; - #include "ios" #include "streambuf" #include "istream"
diff --git a/src/locale.cpp b/src/locale.cpp index e626528..f21e35d 100644 --- a/src/locale.cpp +++ b/src/locale.cpp
@@ -7,8 +7,6 @@ // //===----------------------------------------------------------------------===// -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; - // On Solaris, we need to define something to make the C99 parts of localeconv // visible. #ifdef __sun__
diff --git a/src/string.cpp b/src/string.cpp index fde5212..fdaad29 100644 --- a/src/string.cpp +++ b/src/string.cpp
@@ -7,8 +7,6 @@ // //===----------------------------------------------------------------------===// -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; - #include "string" #include "cstdlib" #include "cwchar"
diff --git a/src/valarray.cpp b/src/valarray.cpp index e4c9ed0..2d8db52 100644 --- a/src/valarray.cpp +++ b/src/valarray.cpp
@@ -7,8 +7,6 @@ // //===----------------------------------------------------------------------===// -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; - #include "valarray" _LIBCPP_BEGIN_NAMESPACE_STD